canlinsbc 2.2.0
Loading...
Searching...
No Matches
canlinsbc.h File Reference

This file contains API for CAN-LIN SBC Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_uart.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  canlinsbc_t
 CAN-LIN SBC Click context object. More...
struct  canlinsbc_cfg_t
 CAN-LIN SBC Click configuration object. More...

Macros

#define CANLINSBC_REG_DMCR   0x01
 CAN-LIN SBC register list.
#define CANLINSBC_REG_LDOCR   0x02
#define CANLINSBC_REG_DMSR   0x03
#define CANLINSBC_REG_SECR   0x04
#define CANLINSBC_REG_LDOECR   0x05
#define CANLINSBC_REG_GPM0   0x06
#define CANLINSBC_REG_GPM1   0x07
#define CANLINSBC_REG_GPM2   0x08
#define CANLINSBC_REG_GPM3   0x09
#define CANLINSBC_REG_RWPR   0x0A
#define CANLINSBC_REG_TRXCR   0x20
#define CANLINSBC_REG_LTRXCR   0x21
#define CANLINSBC_REG_TRXSR   0x22
#define CANLINSBC_REG_TRXECR   0x23
#define CANLINSBC_REG_LTRXSR   0x24
#define CANLINSBC_REG_REGCR   0x25
#define CANLINSBC_REG_DRCR   0x26
#define CANLINSBC_REG_CIDR0   0x27
#define CANLINSBC_REG_CIDR1   0x28
#define CANLINSBC_REG_CIDR2   0x29
#define CANLINSBC_REG_CIDR3   0x2A
#define CANLINSBC_REG_CIDMR0   0x2B
#define CANLINSBC_REG_CIDMR1   0x2C
#define CANLINSBC_REG_CIDMR2   0x2D
#define CANLINSBC_REG_CIDMR3   0x2E
#define CANLINSBC_REG_CFCR   0x2F
#define CANLINSBC_REG_BFECR   0x32
#define CANLINSBC_REG_BFIR   0x33
#define CANLINSBC_REG_TRXECR2   0x34
#define CANLINSBC_REG_TRXESR2   0x35
#define CANLINSBC_REG_WDCR1   0x36
#define CANLINSBC_REG_WDCR2   0x37
#define CANLINSBC_REG_WDSR   0x38
#define CANLINSBC_REG_WDTRIG   0x39
#define CANLINSBC_REG_EFCR   0x3A
#define CANLINSBC_REG_FECR   0x3B
#define CANLINSBC_REG_GLFT   0x67
#define CANLINSBC_REG_CDMR0   0x68
#define CANLINSBC_REG_CDMR1   0x69
#define CANLINSBC_REG_CDMR2   0x6A
#define CANLINSBC_REG_CDMR3   0x6B
#define CANLINSBC_REG_CDMR4   0x6C
#define CANLINSBC_REG_CDMR5   0x6D
#define CANLINSBC_REG_CDMR6   0x6E
#define CANLINSBC_REG_CDMR7   0x6F
#define CANLINSBC_REG_PWKS   0x4B
#define CANLINSBC_REG_WKECR   0x4C
#define CANLINSBC_REG_GESR   0x60
#define CANLINSBC_REG_SESR   0x61
#define CANLINSBC_REG_LTRXESR   0x62
#define CANLINSBC_REG_CTRXESR   0x63
#define CANLINSBC_REG_WKESR   0x64
#define CANLINSBC_REG_BFESR   0x65
#define CANLINSBC_REG_LDOESR   0x66
#define CANLINSBC_REG_DIDR   0x7E
#define CANLINSBC_DMCR_RSTEN   0x20
 CAN-LIN SBC Device Mode Control Register (DMCR) setting.
#define CANLINSBC_DMCR_VCCOVSD   0x10
#define CANLINSBC_DMCR_SLPVCCUC   0x08
#define CANLINSBC_DMCR_DOPM_SLEEP_MODE   0x01
#define CANLINSBC_DMCR_DOPM_STANDBY_MODE   0x04
#define CANLINSBC_DMCR_DOPM_NORMAL_MODE   0x07
#define CANLINSBC_DMCR_DOPM_MASK   0x07
#define CANLINSBC_TRXCR_CFDPE   0x40
 CAN-LIN SBC CAN Transceiver Control Register (TRXCR) setting.
#define CANLINSBC_TRXCR_PNCFOK   0x20
#define CANLINSBC_TRXCR_CPNE   0x10
#define CANLINSBC_TRXCR_COMP_STANDBY_MODE   0x00
#define CANLINSBC_TRXCR_COMP_NORMAL_MODE   0x01
#define CANLINSBC_TRXCR_COMP_SILENT_MODE   0x03
#define CANLINSBC_TRXCR_COMP_MASK   0x03
#define CANLINSBC_WDCR1_WDC_OFF_MODE   0x20
 CAN-LIN SBC Watchdog Configuration Register 1 (WDCR1) setting.
#define CANLINSBC_WDCR1_WDC_TIME_OUT_MODE   0x40
#define CANLINSBC_WDCR1_WDC_WINDOW_MODE   0x80
#define CANLINSBC_WDCR1_WDC_MASK   0xE0
#define CANLINSBC_WDCR1_WDPRE_FACTOR_1   0x00
#define CANLINSBC_WDCR1_WDPRE_FACTOR_1_5   0x08
#define CANLINSBC_WDCR1_WDPRE_FACTOR_2_5   0x10
#define CANLINSBC_WDCR1_WDPRE_FACTOR_3_5   0x18
#define CANLINSBC_WDCR1_WDPRE_MASK   0x18
#define CANLINSBC_WDCR1_WDLSP   0x04
#define CANLINSBC_WDCR1_WDLW   0x02
#define CANLINSBC_WDTRIG_RESET   0x55
 CAN-LIN SBC Watchdog Trigger Register (WDTRIG) setting.
#define CANLINSBC_DEVICE_ID   0x86
 CAN-LIN SBC device ID setting.
#define CANLINSBC_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define CANLINSBC_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define CANLINSBC_TX_DRV_BUFFER_SIZE   100
 CAN-LIN SBC driver buffer size.
#define CANLINSBC_RX_DRV_BUFFER_SIZE   300
#define CANLINSBC_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  canlinsbc_return_value_t { CANLINSBC_OK = 0 , CANLINSBC_ERROR = -1 }
 CAN-LIN SBC Click return value data. More...

Functions

void canlinsbc_cfg_setup (canlinsbc_cfg_t *cfg)
 CAN-LIN SBC configuration object setup function.
err_t canlinsbc_init (canlinsbc_t *ctx, canlinsbc_cfg_t *cfg)
 CAN-LIN SBC initialization function.
err_t canlinsbc_default_cfg (canlinsbc_t *ctx)
 CAN-LIN SBC default configuration function.
err_t canlinsbc_write_reg (canlinsbc_t *ctx, uint8_t reg, uint8_t data_in)
 CAN LIN SBC write register function.
err_t canlinsbc_read_reg (canlinsbc_t *ctx, uint8_t reg, uint8_t *data_out)
 CAN LIN SBC read register function.
err_t canlinsbc_generic_write (canlinsbc_t *ctx, uint8_t *data_in, uint16_t len)
 CAN LIN SBC generic write function.
err_t canlinsbc_generic_read (canlinsbc_t *ctx, uint8_t *data_out, uint16_t len)
 CAN LIN SBC generic read function.
void canlinsbc_set_rst_pin (canlinsbc_t *ctx, uint8_t state)
 CAN LIN SBC set reset pin function.
void canlinsbc_set_txd_lin_pin (canlinsbc_t *ctx, uint8_t state)
 CAN LIN SBC set TXD LIN pin function.
uint8_t canlinsbc_get_rxd_lin_pin (canlinsbc_t *ctx)
 CAN LIN SBC get RXD LIN pin function.
void canlinsbc_reset_device (canlinsbc_t *ctx)
 CAN LIN SBC reset device function.
err_t canlibsbc_check_communication (canlinsbc_t *ctx)
 CAN LIN SBC check communication function.

Detailed Description

This file contains API for CAN-LIN SBC Click Driver.

Enumeration Type Documentation

◆ canlinsbc_return_value_t

CAN-LIN SBC Click return value data.

Predefined enum values for driver return values.

Enumerator
CANLINSBC_OK 
CANLINSBC_ERROR